home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / text / html / StyleSheet$BoxPainter.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  3.8 KB  |  123 lines

  1. package javax.swing.text.html;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Graphics;
  6. import java.awt.Insets;
  7. import java.io.Serializable;
  8. import javax.swing.border.BevelBorder;
  9. import javax.swing.border.Border;
  10. import javax.swing.border.LineBorder;
  11. import javax.swing.text.AttributeSet;
  12. import javax.swing.text.View;
  13. import javax.swing.text.html.CSS.Attribute;
  14.  
  15. public class StyleSheet$BoxPainter implements Serializable {
  16.    Border border;
  17.    Insets binsets;
  18.    CSS css;
  19.    // $FF: renamed from: ss javax.swing.text.html.StyleSheet
  20.    StyleSheet field_0;
  21.  
  22.    StyleSheet$BoxPainter(AttributeSet var1, CSS var2, StyleSheet var3) {
  23.       this.field_0 = var3;
  24.       this.css = var2;
  25.       this.border = this.getBorder(var1);
  26.       this.binsets = this.border.getBorderInsets((Component)null);
  27.    }
  28.  
  29.    Border getBorder(AttributeSet var1) {
  30.       Object var2 = StyleSheet.noBorder;
  31.       Object var3 = var1.getAttribute(Attribute.BORDER_STYLE);
  32.       if (var3 != null) {
  33.          String var4 = var3.toString();
  34.          int var5 = (int)this.getLength(Attribute.BORDER_WIDTH, var1);
  35.          if (var5 > 0) {
  36.             if (var4.equals("inset")) {
  37.                Color var6 = this.getBorderColor(var1);
  38.                var2 = new BevelBorder(1, var6.brighter(), var6.darker());
  39.             } else if (var4.equals("outset")) {
  40.                Color var7 = this.getBorderColor(var1);
  41.                var2 = new BevelBorder(0, var7.brighter(), var7.darker());
  42.             } else if (var4.equals("solid")) {
  43.                Color var8 = this.getBorderColor(var1);
  44.                var2 = new LineBorder(var8);
  45.             }
  46.          }
  47.       }
  48.  
  49.       return (Border)var2;
  50.    }
  51.  
  52.    Color getBorderColor(AttributeSet var1) {
  53.       Color var2 = this.css.getColor(var1, Attribute.BORDER_COLOR);
  54.       if (var2 == null) {
  55.          var2 = this.css.getColor(var1, Attribute.COLOR);
  56.          if (var2 == null) {
  57.             return Color.black;
  58.          }
  59.       }
  60.  
  61.       return var2;
  62.    }
  63.  
  64.    public float getInset(int var1, View var2) {
  65.       AttributeSet var3 = var2.getAttributes();
  66.       float var4 = 0.0F;
  67.       switch (var1) {
  68.          case 1:
  69.             var4 += this.getLength(Attribute.MARGIN_TOP, var3);
  70.             var4 += (float)this.binsets.top;
  71.             var4 += this.getLength(Attribute.PADDING_TOP, var3);
  72.             break;
  73.          case 2:
  74.             var4 += this.getLength(Attribute.MARGIN_LEFT, var3);
  75.             var4 += (float)this.binsets.left;
  76.             var4 += this.getLength(Attribute.PADDING_LEFT, var3);
  77.             break;
  78.          case 3:
  79.             var4 += this.getLength(Attribute.MARGIN_BOTTOM, var3);
  80.             var4 += (float)this.binsets.bottom;
  81.             var4 += this.getLength(Attribute.PADDING_BOTTOM, var3);
  82.             break;
  83.          case 4:
  84.             var4 += this.getLength(Attribute.MARGIN_RIGHT, var3);
  85.             var4 += (float)this.binsets.right;
  86.             var4 += this.getLength(Attribute.PADDING_RIGHT, var3);
  87.             break;
  88.          default:
  89.             throw new IllegalArgumentException("Invalid side: " + var1);
  90.       }
  91.  
  92.       return var4;
  93.    }
  94.  
  95.    float getLength(CSS.Attribute var1, AttributeSet var2) {
  96.       return this.css.getLength(var2, var1);
  97.    }
  98.  
  99.    public void paint(Graphics var1, float var2, float var3, float var4, float var5, View var6) {
  100.       AttributeSet var7 = var6.getAttributes();
  101.       StyleSheet var8 = this.field_0;
  102.       float var9 = this.getLength(Attribute.MARGIN_TOP, var7);
  103.       float var10 = this.getLength(Attribute.MARGIN_LEFT, var7);
  104.       var2 += var10;
  105.       var3 += var9;
  106.       var4 -= var10 + this.getLength(Attribute.MARGIN_RIGHT, var7);
  107.       var5 -= var9 + this.getLength(Attribute.MARGIN_BOTTOM, var7);
  108.       Color var11;
  109.       if (var8 != null) {
  110.          var11 = var8.getBackground(var7);
  111.       } else {
  112.          var11 = null;
  113.       }
  114.  
  115.       if (var11 != null) {
  116.          var1.setColor(var11);
  117.          var1.fillRect((int)var2, (int)var3, (int)var4, (int)var5);
  118.       }
  119.  
  120.       this.border.paintBorder((Component)null, var1, (int)var2, (int)var3, (int)var4, (int)var5);
  121.    }
  122. }
  123.